package com.kakarote.examine.entity.PO;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 提交审批流程表-最终流程
 * </p>
 *
 * @author zyl
 * @since 2022-08-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wk_examine_flow_final")
@ApiModel(value = "ExamineFlowFinal对象", description = "提交审批流程表-最终流程")
public class ExamineFlowFinal implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "审核流程ID")
    @TableId(value = "flow_id")
    private Long flowId;

    @ApiModelProperty(value = "名称")
    private String name;

    @ApiModelProperty(value = "审批ID")
    private Long examineId;

    @ApiModelProperty(value = "审批记录id")
    private Long recordId;

    @ApiModelProperty(value = "0 条件 1 指定成员 2 主管 3 角色 4 发起人自选 5 连续多级主管")
    private Integer examineType;

    @ApiModelProperty(value = "1 依次审批 2 会签 3 或签")
    private Integer type;

    @ApiModelProperty(value = "审批找不到用户或者条件均不满足时怎么处理 1 自动通过 2 管理员审批")
    private Integer examineErrorHandling;

    @ApiModelProperty(value = "条件ID")
    private Long conditionId;

    @ApiModelProperty(value = "执行顺序，不可为空")
    private Integer sort;

    @ApiModelProperty(value = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    @ApiModelProperty(value = "用户ID")
    @TableField(fill = FieldFill.INSERT)
    private Long createUserId;

    @ApiModelProperty(value = "批次ID")
    private String batchId;


    @ApiModelProperty(value = "更新时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    @ApiModelProperty(value = "修改人ID")
    private Long updateUserId;

    @ApiModelProperty(value = "节点标识（1：初始化，2：申请自定义添加，3：待办征求他人意见）")
    private Integer flowFlag;

    @ApiModelProperty(value = "插入目标节点")
    private Long insertTarget;

    @ApiModelProperty(value = "插入标识（1：之前，2：之后）")
    private Integer insertFlag;
    //------------------------------------
    @ApiModelProperty(value = "征求意见说明")
    private String insertRemark;
    //------------------------------------

    @ApiModelProperty(value = "")
    private Boolean isAdminSkip;

    @ApiModelProperty(value = "当前征求他人意见节点关联的logId")
    private Long relTargetLogId;

}
